//by hbs
#include <bits/stdc++.h>
using namespace std;

#define N 100010

int n, a[N];
queue<int> q;

inline int rd()
{
    register int f = 1, m = 0;
    register char ch = getchar();
    while (ch < '0' || ch > '9')
    {
        if (ch == '-')
            f = -1;
        ch = getchar();
    }
    while (ch >= '0' && ch <= '9')
    {
        m = (m << 3) + (m << 1) + (ch ^ 48);
        ch = getchar();
    }
    return f * m;
}

int main()
{
    //remember to clear when the number is removed
    freopen("duel.in", "r", stdin);
    freopen("duel.out", "w", stdout);
    int n = rd();
    for (int i = 1; i <= n; ++i)
        a[i] = rd();
    sort(a + 1, a + n + 1);
    for (int i = 1; i <= n; ++i)
    {
        if (!q.empty())
            if (a[i] > q.front())
                q.pop();
        q.push(a[i]);
    }
    cout << q.size() << endl;
    return 0;
}